Applications and benchmarks typically have recurrence loop that cannot be vectorized because such an execution causes the calculations for successive iterations of a loop to overlap, and a value calculated in one iteration is not available to succeeding iterations. Below is such an example: for (i=1 . . . N)a[i]=a[i−1]+b[i]
Such loops are found in many real-world applications such as weather codes.